Microwave filters GUI  2.0.3
Public Member Functions | List of all members
libcommonfunc.FrequencyTransformBP Class Reference

Frequency transformation fro band pass to low pass prototype. More...

Public Member Functions

def __init__
 Create a frequency transformation instance.
def normFreq
 Normalize frequency to lowpass prototype.
def unormFreq
 Unnormalize frequency from lowpass prototype.
def unormGroupDelay
 Convert lowpass prototype group delay to unnormalized group delay.
def normGroupDelay
 Convert unnormalized group delay to lowpass prototype group delay.

Detailed Description

Frequency transformation fro band pass to low pass prototype.

Definition at line 4071 of file libcommonfunc.py.

Constructor & Destructor Documentation

def libcommonfunc.FrequencyTransformBP.__init__ (   self,
  P 
)

Member Function Documentation

def libcommonfunc.FrequencyTransformBP.normFreq (   self,
  freq 
)

Normalize frequency to lowpass prototype.

    @param freq = Vector with frequency values to convert (in Hz). Numpy array.
    @return Vector with lowpass prototype normalized frequency values. Numpy array.

    [Cameron eq. (3.113)]:

$ \omega ' = \frac{f_0}{\Delta f} \left( \frac{f}{f_0} - \frac{f_0}{f} \right) $

Definition at line 4095 of file libcommonfunc.py.

References libcommonfunc.FrequencyTransformBP.BW, libcommonfunc.Sparameters.f0, and libcommonfunc.FrequencyTransformBP.f0.

def libcommonfunc.FrequencyTransformBP.normGroupDelay (   self,
  groupDelay 
)

Convert unnormalized group delay to lowpass prototype group delay.

    @param groupDelay = Double with unnormalized group delay (in seconds) value to convert. 
    @return groupDelay = normalized filter group delay value.

    [Cameron, eq. (3.91)]:

$ \tau_{0}= \frac{2}{\Delta \omega} \tau_{0} ' $

Definition at line 4157 of file libcommonfunc.py.

References libcommonfunc.FrequencyTransformBP.BW.

def libcommonfunc.FrequencyTransformBP.unormFreq (   self,
  w 
)

Unnormalize frequency from lowpass prototype.

    @param w = Vector with normalized frequency values to convert. Numpy array.
    @return Vector with unnormalized frequency values (in Hz). Numpy array.

\[ \omega ' = \frac{f_0}{\Delta f} \left( \frac{f}{f_0} - \frac{f_0}{f} \right) \]

\[ f^2 - \omega ' \Delta f f - f_0^2 = 0 \]

\[ f = \frac {\omega ' \Delta f + \sqrt{( \omega ' \Delta f)^2 + 4 f_0^2 } } {2} \]

with $ \omega'' = \omega' \Delta f / f_0 $ :

\[ f = \frac {f_0}{2} \left( \omega'' + \sqrt{ \omega'' \, ^2 + 4 } \right) \]

Definition at line 4126 of file libcommonfunc.py.

References libcommonfunc.Sparameters.f0, libcommonfunc.FrequencyTransformBP.f0, libcommonfunc.Sparameters.FBW, and libcommonfunc.FrequencyTransformBP.FBW.

def libcommonfunc.FrequencyTransformBP.unormGroupDelay (   self,
  freq,
  groupDelay 
)

Convert lowpass prototype group delay to unnormalized group delay.

    @param freq = Vector with unnormalized frequency values (in Hz). Numpy array.
    @param groupDelay = Vector with lowpass prototype group delay values to convert. Numpy array.
    @return Vector with unnormalized filter group delay values (in seconds). Numpy array.

    [Cameron, eq. (3.90)]:

$ \tau_{BPF}= \frac{\omega_0}{\Delta \omega} \left( \frac{1}{\omega_0} - \frac{\omega_0}{\omega^2} \right) \tau ' = \frac{1}{2 \pi \Delta f} \left( 1 + \left( \frac{f_0}{f} \right)^2 \right) \tau ' $

Definition at line 4144 of file libcommonfunc.py.

References libcommonfunc.FrequencyTransformBP.BW, libcommonfunc.Sparameters.f0, and libcommonfunc.FrequencyTransformBP.f0.


The documentation for this class was generated from the following file: